Telecommunication is an important aspect of interactions between individuals, as it enables individuals to communicate without being physically present in the same location, thereby potentially increasing the possibilities for cooperation between such individuals. Simultaneously, an increasing number of telecommunication sessions are being monitored and/or recorded, for example for quality assurance at a “help desk” or other customer support center or service center, and/or on a financial trading floor.
Previously, such monitoring or recording was relatively simple in the background art. For example, telephone calls may typically be passed to the individual through a PBX (public exchange) switch or CO (central office), which features a central switching matrix. All telephone calls passing this switch would therefore pass through the central matrix, such that integration of the recording and/or monitoring equipment with the central matrix would enable all such telephone calls to be recorded and/or monitored.
Unfortunately, monitoring and/or recording such telephone calls through the IP session protocols is not as simple. For example, the session does not pass through a central switching matrix, as IP communication does not feature such a matrix. Thus, such communication is relatively diffuse, even across a WAN (wide area network) or LAN (local area network).
The situation is further complicated by the topology of the IP network, which consists of switch boxes, routers and bridges, and which may prevent any recording and/or monitoring system from accessing such communication sessions that are routed on different network segments. In addition, encrypted sessions add a further element of complexity, as access to such sessions is typically only granted to participants, as only participants have access to the necessary information to decrypt the encrypted session.
Furthermore, currently available systems may easily overwhelm the network and/or the recording or monitoring device with the large volumes of data that can be generated through such monitoring. This problem may be particularly acute with media/sessions, which typically feature the transmission of a plurality of different types of data. One attempted solution to this problem is to filter data before it is recorded and/or otherwise stored. In order to filter the packets of interest for determining which packets should be stored, processing and memory resources must be expended. Additionally, the process of filtering further limits the capacity of the processing unit to a limited and relatively small number of concurrent sessions.
Furthermore, simply adding more filtering units (each of which is required to filter another portion of the required sessions) might not solve the problem, as all of the units that monitor the same network infrastructure also must operate on the same amount of pre-filtered data.